home *** CD-ROM | disk | FTP | other *** search
-
- -- -----------------------------------------------------------------
- -- Init
- -- -----------------------------------------------------------------
- local function prog_init()
- initModels()
- sound_playMusic("music/rybky14.ogg")
- local pokus = getRestartCount()
- local roompole = createArray(1)
-
-
- -- -------------------------------------------------------------
- local function prog_init_room()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- room.uvod = 0
- room.ooku = 0
- room.osedadle = 0
-
- return function()
- if isReady(small) and isReady(big) and no_dialog() then
- if room.uvod == 0 then
- room.uvod = 1
- if pokus > 1 then
- adddel(10 * pokus)
- end
- if random(100) < 110 - 10 * pokus then
- addm(20 + random(30), "let-m-divna")
- end
- if roompole[0] == 0 then
- pom1 = random(3)
- else
- pom1 = random(2)
- if roompole[0] == pom1 + 10 then
- pom1 = 2
- end
- end
- roompole[0] = pom1 + 10
- addv(random(10) + 5, "let-v-vrak"..pom1)
- elseif room.ooku == 0 and ocicko.X >= 23 and random(100) < 1 then
- addv(random(30), "let-v-oko")
- addm(5, "let-m-oko")
- room.ooku = 1
- elseif (sed1.dir ~= dir_no or sed2.dir ~= dir_no or sed3.dir ~= dir_no) and small.dir ~= dir_no and random(100) < 1 then
- addm(0, "let-m-sedadlo")
- if room.osedadle == 0 or random(100) < 30 then
- addv(5 + random(15), "let-v-budrada")
- end
- room.osedadle = room.osedadle + 1
- end
- end
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_ocicko()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- ocicko.cinnost = 0
-
- return function()
- local cinnost_table = {
- [0] = function()
- if random(100) < 10 then
- switch(random(8)){
- [0] = function()
- ocicko.citac = random(5) + 5
- ocicko.cinnost = 1
- ocicko.faze = random(2) * 2
- end,
- [1] = function()
- ocicko.citac = random(5) + 5
- ocicko.cinnost = 1
- ocicko.faze = random(2) * 2
- end,
- [2] = function()
- ocicko.citac = random(5) + 5
- ocicko.cinnost = 1
- ocicko.faze = random(2) * 2
- end,
- [3] = function()
- ocicko.citac = random(3) + 2
- ocicko.cinnost = 2
- ocicko.faze = random(2) * 2
- end,
- [4] = function()
- ocicko.citac = random(12) + 12
- ocicko.cinnost = 3 + random(2)
- end,
- [5] = function()
- ocicko.citac = random(12) + 12
- ocicko.cinnost = 3 + random(2)
- end,
- [6] = function()
- ocicko.citac = random(12) + 12
- ocicko.cinnost = 3 + random(2)
- end,
- [7] = function()
- ocicko.citac = random(10) + 2
- ocicko.cinnost = 5
- end,
- }
- end
- end,
- [1] = function()
- switch(ocicko.faze){
- [0] = function()
- if ocicko.cinnost == 1 then
- ocicko.afaze = 1
- else
- ocicko.afaze = 3
- end
- if random(100) < 20 then
- ocicko.faze = ocicko.faze + 1
- end
- end,
- [1] = function()
- ocicko.afaze = 0
- ocicko.faze = ocicko.faze + 1
- end,
- [2] = function()
- if ocicko.cinnost == 1 then
- ocicko.afaze = 2
- else
- ocicko.afaze = 4
- end
- if random(100) < 20 then
- ocicko.faze = ocicko.faze + 1
- end
- end,
- [3] = function()
- ocicko.afaze = 0
- ocicko.citac = ocicko.citac - 1
- if ocicko.citac == 0 then
- ocicko.cinnost = 0
- else
- ocicko.faze = 0
- end
- end,
- }
- end,
- [3] = function()
- switch(ocicko.cinnost){
- [3] = function()
- switch(ocicko.afaze){
- [0] = function()
- ocicko.afaze = random(4) + 1
- end,
- [1] = function()
- ocicko.afaze = 3
- end,
- [2] = function()
- ocicko.afaze = 4
- end,
- [3] = function()
- ocicko.afaze = 2
- end,
- [4] = function()
- ocicko.afaze = 1
- end,
- }
- end,
- [4] = function()
- switch(ocicko.afaze){
- [0] = function()
- ocicko.afaze = random(4) + 1
- end,
- [1] = function()
- ocicko.afaze = 4
- end,
- [2] = function()
- ocicko.afaze = 3
- end,
- [3] = function()
- ocicko.afaze = 1
- end,
- [4] = function()
- ocicko.afaze = 2
- end,
- }
- end,
- [5] = function()
- if random(100) < 40 then
- ocicko.afaze = random(5)
- end
- end,
- }
- ocicko.citac = ocicko.citac - 1
- if ocicko.citac == 0 then
- ocicko.cinnost = 0
- ocicko.afaze = 0
- end
- end,
- }
-
- cinnost_table[2] = cinnost_table[1]
- cinnost_table[4] = cinnost_table[3]
- cinnost_table[5] = cinnost_table[3]
-
- switch(ocicko.cinnost)(cinnost_table)
- ocicko:updateAnim()
- end
- end
-
- -- --------------------
- local update_table = {}
- local subinit
- subinit = prog_init_room()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_ocicko()
- if subinit then
- table.insert(update_table, subinit)
- end
- return update_table
- end
- local update_table = prog_init()
-
-
- -- -----------------------------------------------------------------
- -- Update
- -- -----------------------------------------------------------------
- function prog_update()
- for key, subupdate in pairs(update_table) do
- subupdate()
- end
- end
-
-